<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml" xmlns:shiro="http://www.pollix.org/thymeleaf/shiro">
<head>
    <meta charset="utf-8">
    <title>销售机会列表</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="format-detection" content="telephone=no">
    <link rel="stylesheet" href="resources/layui/css/layui.css" media="all" />
    <link rel="stylesheet" href="resources/css/public.css" media="all" />
</head>
<body class="childrenBody">
<input type="hidden" id="userName" th:value="${session.USER_SESSION.realname}"><!--这个隐藏域 获得当前用户的用户名，这个用在删除时，必须是当前用户是要删除的销售机会的创建人，否则无法删除-->
<form class="layui-form">
    <blockquote class="layui-elem-quote quoteBox">
        <form class="layui-form">
            <div class="layui-inline">
                <div class="layui-input-inline">
                    <input type="text" class="layui-input searchVal" placeholder="请输入搜索的内容" />
                </div>
                <a class="layui-btn search_btn" data-type="reload">搜索客户</a>
            </div>
            <div class="layui-inline">
                <a class="layui-btn noAssign" data-type="reload" id="noAssign">查询未指派客户</a>
            </div>
            <div class="layui-inline">
                <a class="layui-btn layui-btn-normal addSaleChance_btn">添加销售机会</a>
            </div>
        </form>
    </blockquote>
    <table id="saleChanceList" lay-filter="saleChance"></table>

    <!--导出excel按钮-->
    <script type="text/html" id="data-toolbar">
        <div class="layui-btn-container">
            <button class="layui-btn layui-btn-sm" lay-event="export" id="exportFile">Excel导出</button>
        </div>
    </script>

    <!--操作-->
    <script type="text/html" id="saleChanceListBar">
        <shiro:hasPermission name="user:assign">
            <a class="layui-btn layui-btn-xs assign" lay-event="assign">指派</a>
        </shiro:hasPermission>
        <a class="layui-btn layui-btn-xs bbb layui-btn-warm" lay-event="edit">编辑</a>
        <a class="layui-btn layui-btn-xs layui-btn-danger" id="del" lay-event="del">删除</a>
        <shiro:hasPermission name="user:success">
            <a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="success">开发成功</a>
        </shiro:hasPermission>
        <shiro:hasPermission name="user:failed">
            <a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="failed">开发失败</a>
        </shiro:hasPermission>
    </script>
<!--</form>-->
<!--<button id="btn">点我查看表格</button>-->
<!--<button id="btn11">我看看表格</button>-->

<script type="text/javascript" src="resources/layui/layui.js"></script>
<!--导出excel需要-->
<script type="text/javascript" src="resources/layui/layui_exts/excel.js"></script>
<script th:inline="none">
    layui.use(['form','layer','laydate','table','laytpl'],function(){
        var form = layui.form,
            layer = parent.layer === undefined ? layui.layer : top.layer,
            $ = layui.jquery,
            laydate = layui.laydate,
            laytpl = layui.laytpl,
            table = layui.table;
        //客户机会列表
        var tableIns = table.render({
            elem: '#saleChanceList',
            url : 'saleChance',
            page : true,
            height : "full-125",
            limit : 8,
            limits : [8,10,15,20,25],
            id : "saleChanceListTable",
            toolbar: "#data-toolbar",
            defaultToolbar: ['filter', 'print', 'exports'],
            totalRow: true,
            title: '数据表',
            cols : [[
                {type: "checkbox", fixed:"left"},
                {field: 'chanNo', title: '编号',align:"center",width: 50},
                {field: 'chanCustName', title: '客户名称',align:"center",width: 190},
                {field: 'chanLinkman', title: '联系人', align:"center",width: 80},
                {field: 'chanTelephone', title: '联系人电话', align:"center",width: 120},
                {field: 'chanCreateBy', title: '创建人', align:"center",width: 120},//后面加的，如果有错误就是这句话错了，没加之前所有都是正常的
                {field: 'chanCreateDate', title: '创建时间', align:"center",width: 200},
                {field: 'chanStatus', title: '状态',align:"center",width: 150,templet:function (row) {
                        // lay-event="forbidden"
                        if(row.chanStatus==1){return "未指派"}
                        else if (row.chanStatus==2){return "已指派"}
                        else if (row.chanStatus==3){return "已归档开发失败"}
                        else if (row.chanStatus==4){return "已经归档开发成功"}
                }},
                {title: '操作', templet:'#saleChanceListBar',fixed:"right",align:"center",width:320}
            ]],
        });

        /*导出数据*/
        $('#exportFile').on('click',function () {
            console.info("export");
            $.ajax({
                url: "saleChance",
                type: 'get',
                async: false,
                dataType: 'json',
                success: function (res) {
                    LAY_EXCEL.exportExcel(res.data, 'data.xlsx', 'xlsx')
                }
            });
        });


        //遍历表格
        //$("#btn").click(function () {
        //     $('table tr').each(function(){
        //         var txt = $(this).find('td:eq(7)').text();  //这里选中的是每个tr里面的第3个td
        //         alert(txt)
        //     })
        //})


        //搜索客户
        $(".search_btn").on("click",function(){
            table.reload("saleChanceListTable",{//更新客户机会列表
                page: {
                    curr: 1 //重新从第 1 页开始
                },
                where: {
                    chanCustName: $(".searchVal").val()  //搜索的关键字
                }
            })
        });

        //显示状态未指派的客户
        $(".noAssign").on("click",function () {
            var status=$(".searchVal").val();
            var str="未指派"
            if(status==str){
                table.reload("saleChanceListTable",{//重新加载这个列表
                    page: {
                        curr: 1 //重新从第 1 页开始
                    },
                    where:{
                        chanStatus:1
                    }
                });
            }else {
                layer.msg("查询未指派客户，请输入未指派")
                table.reload("saleChanceListTable")
            }
        });
        //单击添加销售机会按钮
        $(".addSaleChance_btn").click(function () {
            var index=layui.layer.open({
                title:"添加销售机会",
                type:2,
                content:"toSaleChanceAddPage.do",
                success : function(layero, index){
                    // var body = layui.layer.getChildFrame('body', index);
                }
            });
            //全屏打开窗口
            layui.layer.full(index);
            window.sessionStorage.setItem("index",index);
            //改变窗口大小时，重置弹窗的宽高，防止超出可视区域（如F12调出debug的操作）
            $(window).on("resize",function(){
                layui.layer.full(window.sessionStorage.getItem("index"));
            })
        });
        //获取当前行数据，并且实现删除，编辑等功能
        table.on("tool(saleChance)",function (obj) {
            //获取当前行的数据
            var data=obj.data;
            switch (obj.event){//得到的就是点击lay-event中的值
                case 'del':
                    deleteSaleChance(data);
                    break;
                case 'edit':
                    editSaleChance(data);
                    break;
                case "assign":
                    assignSaleChance(data);
                    break;
                case "success":
                    successSaleChance(data);
                    break;
                case "failed":
                    failedSaleChance(data);
                    break;
            }
        });
        //指派
        function assignSaleChance(data){

            //alert(data.chanStatus);
            if(data.chanStatus==1){//未指派可以编辑
                var index=layui.layer.open({
                    title:"指派销售机会",
                    type:2,
                    content:"toSaleChanceAssignPage.do",//由于type是2，所以content相当于是url
                    success:function (layero,index) {
                        var body = layui.layer.getChildFrame('body', index);//这个是传值
                        body.contents().find(".chanNo").val(data.chanNo);//在这个打开的页面中找到对应的输入框然后赋值
                        body.contents().find(".chanCustName").val(data.chanCustName);
                        body.contents().find(".chanSource").val(data.chanSource);
                        body.contents().find(".chanRate").val(data.chanRate);
                        body.contents().find(".chanTitle").val(data.chanTitle);
                        body.contents().find(".chanLinkman").val(data.chanLinkman);
                        body.contents().find(".chanTelephone").val(data.chanTelephone);
                        body.contents().find(".chanDescription").val(data.chanDescription);
                        body.contents().find(".chanCreateBy").val(data.chanCreateBy);
                        body.contents().find(".chanCreateDate").val(data.chanCreateDate);
                        body.contents().find(".chanDueTo").val(data.chanDueTo);
                    }
                });layui.layer.full(index);//全屏显示

                // $.ajax({
                //     url:"",
                //     type:"POST",
                //     dataType:"json",
                //     success:function (res) {
                //         if(res.code==1002){
                //             layer.msg(res.msg);
                //             tableIns.reload();//重新刷新表格
                //         }
                //     }
                // });
            }else if(data.chanStatus==2){//已指派开发中 不可以编辑，提示不可编辑
                layer.msg("已指派，不可再次指派");
                // var index1=parent.layer.getFrameIndex(window.name)
                // parent.layer.close(index1);
            }else if(data.chanStatus==3){//已归档开发失败 不可编辑
                layer.msg("已归档开发失败，不可指派");
                // var index1=layui.layer.getFrameIndex(window.name)
                // layui.layer.close(index1);
            }else if (data.chanStatus==4){//已归档开发成功 不可编辑
                top.layer.msg("已归档开发成功，不可指派");
                // var index1=parent.layer.getFrameIndex(window.name)
                // parent.layer.close(index1);
            }
        }


        //这是编辑功能，只有未指派状态的销售机会才可以编辑  再做一个搜索未指派销售机会的功能，应该再加一个按状态搜索的按钮  有时间再做
        function editSaleChance(data){
            //alert(data.chanStatus);
            if(data.chanStatus==1){//未指派可以编辑
                var index=layui.layer.open({
                    title:"编辑销售机会",
                    type:2,
                    content:"toSaleChanceEidtPage.do",//由于type是2，所以content相当于是url
                    success:function (layero,index) {
                        var body = layui.layer.getChildFrame('body', index);//这个是传值
                        body.contents().find(".chanNo").val(data.chanNo);//在这个打开的页面中找到对应的输入框然后赋值
                        body.contents().find(".chanCustName").val(data.chanCustName);
                        body.contents().find(".chanSource").val(data.chanSource);
                        body.contents().find(".chanRate").val(data.chanRate);
                        body.contents().find(".chanTitle").val(data.chanTitle);
                        body.contents().find(".chanLinkman").val(data.chanLinkman);
                        body.contents().find(".chanTelephone").val(data.chanTelephone);
                        body.contents().find(".chanDescription").val(data.chanDescription);
                        body.contents().find(".chanCreateBy").val(data.chanCreateBy);
                        body.contents().find(".chanCreateDate").val(data.chanCreateDate);
                        body.contents().find(".chanDueTo").val(data.chanDueTo);
                    }
                });layui.layer.full(index);//全屏显示

                // $.ajax({
                //     url:"",
                //     type:"POST",
                //     dataType:"json",
                //     success:function (res) {
                //         if(res.code==1002){
                //             layer.msg(res.msg);
                //             tableIns.reload();//重新刷新表格
                //         }
                //     }
                // });
            }else if(data.chanStatus==2){//已指派开发中 不可以编辑，提示不可编辑
                layer.msg("已指派，不可再次编辑");
                // var index1=parent.layer.getFrameIndex(window.name)
                // parent.layer.close(index1);
            }else if(data.chanStatus==3){//已归档开发失败 不可编辑
                layer.msg("已归档开发失败，不可编辑");
                // var index1=layui.layer.getFrameIndex(window.name)
                // layui.layer.close(index1);
            }else if (data.chanStatus==4){//已归档开发成功 不可编辑
                top.layer.msg("已归档开发成功，不可编辑");
                // var index1=parent.layer.getFrameIndex(window.name)
                // parent.layer.close(index1);
            }
        }
        //删除，只有未指派状态的可以删除 并且只有创建该销售机会的才可以  删除功能
        function deleteSaleChance(data){
            if(data.chanStatus==1){//未指派可以编辑
                var userName=$("#userName").val();//获取当前登录用户，我们放在一个隐藏域中的，隐藏域在上面
                var chanCreate=data.chanCreateBy;//这个是获取这一行的销售机会创建者
                //这里是判断该操作用户是否 是要删除的销售机会的创建人，如果是同一个人才可以删除
                if(userName==chanCreate){
                    layui.layer.confirm('确定删除选中的用户？', {icon: 3, title: '提示信息'}, function (index) {
                        $.ajax({
                            url: "saleChance/" + data.chanNo,
                            type: "DELETE",
                            dataType: "json",
                            success: function (res) {
                                if (res.code == 5001) {
                                    layui.layer.msg(res.msg);
                                    tableIns.reload();//重新刷新表格
                                } else {
                                    layer.msg(res.msg);
                                }
                            }
                        });
                    });
                }else {
                    layui.layer.msg("你不是该销售机会创建者，无法删除");
                }
            }else if(data.chanStatus==2){//已指派开发中 不可以编辑，提示不可编辑
                layer.msg("已指派，不可删除");
                var index1=parent.layer.getFrameIndex(window.name)
                parent.layer.close(index1);
            }else if(data.chanStatus==3){//已归档开发失败 不可编辑
                layer.msg("已归档开发失败，不可删除");
                var index1=layui.layer.getFrameIndex(window.name)
                layui.layer.close(index1);
            }else if (data.chanStatus==4){//已归档开发成功 不可编辑
                top.layer.msg("已归档开发成功，不可删除");
                var index1=parent.layer.getFrameIndex(window.name)
                parent.layer.close(index1);
            }
        }

        //开发失败
        function failedSaleChance(data) {
            var username=$("#userName").val();
            var chanDueTo=data.chanDueTo;
            if (data.chanStatus==2){
                //只有当前用户和被指派者对应时才可以开发成功
                if (username==chanDueTo) {
                var chanNo=data.chanNo;
                $.ajax({
                    url:"updateSaleChance.do",
                    type:"POST",
                    data:{chanNo:chanNo,chanStatus:3},
                    datatype:"json",
                    success:function (res) {
                        if (res.code==5002){
                            layer.msg(res.msg);
                            tableIns.reload();//重新刷新表格
                        }else {
                            layer.msg(res.msg);
                        }
                    }
                });
                }else {
                    layer.msg("需要-"+chanDueTo+"-操作！")
                }
            }else if(data.chanStatus==1){
                layer.msg("未指派，需要销售主管指派给客户经理")
            }
        }
        //开发成功
        function successSaleChance(data) {
            var username=$("#userName").val();
            var chanDueTo=data.chanDueTo;
                //只有指派了的才可以开发成功
                if(data.chanStatus==2){
                    //只有当前用户和被指派者对应时才可以开发成功
                    if (username==chanDueTo) {
                        var chanNo = data.chanNo;
                        //只是修改当前销售机会的状态
                        $.ajax({
                            url: "updateSaleChance.do",
                            type: "POST",
                            data: {chanNo: chanNo, chanStatus: 4,},
                            datatype: "json",
                            success: function (res) {
                                if (res.code == 5002) {
                                    layer.msg(res.msg);
                                    tableIns.reload();//重新刷新表格
                                } else {
                                    layer.msg(res.msg);
                                }
                            }
                        });
                        var custNo = new Date().getTime();
                        var custName = data.chanCustName;
                        var custManagerName = data.chanDueTo;
                        //保存到客户记录里面
                        $.ajax({
                            url: "customers.do",
                            type: "POST",
                            data: {
                                custNo: custNo,
                                custName: custName,
                                custRegion: 1,
                                custManagerName: custManagerName,
                                custLevel: 1,
                                chanFlag: 1
                            },
                            datatype: "json",
                            success: function (res) {
                            }
                        });
                    }else {
                        layer.msg("需要-"+chanDueTo+"-操作！")
                    }
                }else if(data.chanStatus==1){
                    layer.msg("未指派，需要销售主管指派给客户经理")
                }

        }
    })

</script>
</body>
</html>